package demo07;

public class DemoMain {
    public static void main(String[] args){
        //首先创建一个笔记本电脑
        Computer computer=new Computer();
        computer.powerOn();

        //准备一个鼠标，供电脑使用
        //向上转型，转好了，扔进去可以
        USB usbMouse= new Mouse();
        //参数是USB类型，我正好传递进去的是USB鼠标
        computer.useDevice(usbMouse);


        //创建一个USB键盘//不进行转型，扔进去也可以
        Keyboard keyboard=new Keyboard();//没有使用多态写法computer.powerOff();//写法正确
        //方法参数是USB类型，传递进去的是实现类对象
        computer.useDevice(keyboard);//方法正确，也发生了向上转型 往里面扔的是实现类，但是可以向上转换成接口
        //使用子类对象，你匿名对象，扔进去也可以
        //computer.useDevice(new Keyboard());//也是正确写法

        computer.powerOff();
        System.out.println("=================");

        method(10.0);//写法正确！double-->double
        method(10);//正确写法int-->double
        int a=30;
        method(a);//正确写法int-->double
    }


    public static  void method(double num){
        System.out.println(num);
    }
}
